/*
	Copyright (C) 2008 Demiurg-HG
	
	This program is free software; you can redistribute it and/or
	modify it under the terms of the GNU General Public License
	as published by the Free Software Foundation; either version 2
	of the License, or (at your option) any later version.
	
	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.
	
	You should have received a copy of the GNU General Public License
	along with this program; if not, write to the Free Software
	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/
// i_input.h - 


#pragma once


struct	mouseInput_s {
		int		dx;
		int		dy;
		int		x;
		int		y;
		bool	left;
		bool	right;
		bool	middle;
	};


interface	IInputSystem
	{
		virtual 			~IInputSystem		( void ) {  }
		virtual void		ProcessInput		( void *wnd, bool enable_scan, bool relative_mmove, 
												  bool clip_cursor, bool show_cursor, mouseInput_s &mouse ) = 0;
		virtual	void		AppendKeyBindings	( const char *filename ) = 0;
		virtual	uint		GetKeyByCmd			( const char *cmd ) = 0;
	};